'use strict';

const Service = require('egg').Service

class UserService extends Service {
    // 通过username查找用户
    async getUserByName(username) {
        // 解构出来 egg 中的 app 。以便能够操作我们挂载在 app 上的方法。
        const {
            app
        } = this
        try {
            // mysql 数据库的方法：get 查询获取数据
            const result = await app.mysql.get('user', {
                username
            })
            return result
        } catch (error) {
            console.log(err);
        }
    }

    // 注册
    async register(params) {
        const {
            app
        } = this
        try {
            // mysql 数据库的方法：insert 设置数据
            // 如果成功，则会有返回值的
            const result = await app.mysql.insert('user', params)
            return result
        } catch (error) {
            console.log(error);
            return null
        }
    }



    // 修改 头像和签名
    async alterUserInfo(params) {
        const {
            app
        } = this
        const {
            avatar,
            sign,
            username
        } = params
        try {
            const result = await app.mysql.update('user', {
                avatar: avatar,
                sign: sign
            }, {
                where: {
                    username: username
                }
            })
            return result
        } catch (error) {
            console.log('修改数据失败', error);
            return null
        }
    }


    // 修改密码
    async alterPassword(params) {
        const { app } = this
        const { user_name, new_pass } = params
        try {
            // 进行密码的修改
            const result = await app.mysql.update('user', {
                password: new_pass
            }, {
                where: {
                    username: user_name
                }
            })
            return result

        } catch (error) {
            console.log('修改密码失败', error);
            return null
        }
    }

}

module.exports = UserService